Tömb feltöltése véletlen számokkal és az elemek elrendezése shell-rendezéssel, eljárások használatával (
Shellrendezes.java
)

public class Shellrendezes{
   public static int n=10;
   public static int[] a=new int[n];

   public static void feltolt(){
      int i=0;
      while(i<n){
         a[i]=(int)(90*Math.random())+1;
         i=i+1;
         }
      }

   public static void kiir(){
      int i=0;
      while(i<n){
         System.out.println(a[i]);
         i=i+1;
         }
      }

   public static void cserel(int i,int j){
      int x;
      x=a[j];
      a[j]=a[i];
      a[i]=x;
      }

   public static void rendez(int kezd,int k){
      int i,j;
      i=(kezd+k)-1;
      while(i<n){
         j=i;
         while(j>k-1){
            if(a[j]<a[j-k]){
               cserel(j,j-k);
               }
            else break;
            j=j-k;
            }
         i=i+k;
         }
      }

   public static void krendez(int k){
      int i;
      i=0;
      while(i<k){
         rendez(i,k);
         i=i+1;
         }
      }

   public static void shell(){
      krendez(31);
      krendez(15);
      krendez(7);
      krendez(3);
      krendez(1);
      }

   public static void main(String[] args){
      feltolt();
      System.out.println("A szamok rendezes elott:");
      kiir();
      System.out.println(" ");
      shell();
      System.out.println("A szamok rendezes utan:");
      kiir();
      }
   }